package gui;

import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;

import basicas.Local;
import basicas.Produtora;



import negocio.Fachada;

@ManagedBean
public class InserirProdutoraBean {

	
	private Produtora produtora;
	private String msgRetorno = "";
	private List <Produtora> listarProdutora;
	private int codigoProdutora;
        private List<Produtora> filteredProd;
	
	
	
	
     public int getCodigoProdutora() {
		return codigoProdutora;
	}



	public void setCodigoProdutora(int codigoProdutora) {
		this.codigoProdutora = codigoProdutora;
	}


	String nome = "Voc� n�o informou o nome";
     String endereco = "Voc� n�o informou o endere�o";
     String responsavel = "Voc� n�o informou o responsavel";
     String cnpj = "Voc� n�o informou o cnpj";
     String telefone = "Voc� n�o informou o telefone";

    
     
     public InserirProdutoraBean(){
		produtora = new Produtora();
	}
	
	
	
	public void inserir(){						
            if(produtora.getNome().equals("")){
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN,nome, ""));
                
            }else if(produtora.getEndereco().equals("") && produtora.getNome() != ""){
                            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN,endereco, ""));
                            
            }else if(produtora.getResponsavel().equals("") && produtora.getEndereco() != ""){
                            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN,responsavel, ""));
                            
            }else if(produtora.getCnpj().equals("") && produtora.getResponsavel() != ""){
                            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN,cnpj, ""));
                            
            }else if(produtora.getFoneresponsavel().equals("") && produtora.getCnpj() != ""){
                            FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN,telefone, ""));
                            
            }else{     
                Fachada fachada = Fachada.getInstancia();		     
                try {
                        fachada.inserirProdutora(produtora);
                        FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO,"Inserido com Sucesso", "");
                        FacesContext.getCurrentInstance().addMessage(null, msg);                			
                } catch (Exception e) {
                        FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,"Erro", "Erro na operação"));
                }		

            }			
	}
	
	
	
	public String list(){
		
		
		
		return "listpro.xhtml";
	}
	
	
	public String listar(){
		
		 Fachada fachada = Fachada.getInstancia();
			
		     
			try {
				fachada.listarTodos();
				msgRetorno = "Opera��o realizada!";			
			} catch (Exception e) {
				msgRetorno = "Erro na opera��o!";
			}		


			return msgRetorno;
		}
		
		
	public String alterarProdutora(Produtora pa){
		
		this.produtora = pa; 
		return "alterarprodutora.xhtml";
	
	}
	
	
	
	public void buscarProdutora() {

		int codigo = this.codigoProdutora;

		Fachada fachada = Fachada.getInstancia();
		this.produtora = fachada.buscarProdutoraPorChave(codigo);

		if (this.produtora != null) {

			FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO,
					"Produtora Encontrado", "");
			FacesContext.getCurrentInstance().addMessage(null, msg);
			// return "tela-sucesso.xhtml";

		} else {

			FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_WARN,
					"produtora N�o Encontrada", "");
			FacesContext.getCurrentInstance().addMessage(null, msg);
			// return "tela-sucesso.xhtml";
		}

		// if (fachada.buscarLocalPorChave(codigo)!= null ){
		//
		// msgRetorno = "Local Encontrado!";
		// }else{
		//
		// msgRetorno = "Local N�o Encontrado!";
		//
		// }

	}

	public Produtora getBuscaProdutora() {
		return this.produtora;

	}
	
	
	
	
	
	
	public String salvarAlteracaoProdutora(){
		
		
		
		
		
		Fachada.getInstancia().alterarProdutora(produtora);  
                FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO,"Alterado com Sucesso", "");
                FacesContext.getCurrentInstance().addMessage(null, msg);                			
		return null;
    
             
             
	}
		
		
		
	
	
	
	public List<Produtora> getListarProdutora() {
		
		listarProdutora = Fachada.getInstancia().listarTodos();
		
		return listarProdutora;
	}


	public String remover(Produtora pa){
		
		Fachada.getInstancia().remover(pa);
                FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO,"Removido com Sucesso", "");
                FacesContext.getCurrentInstance().addMessage(null, msg);                			
		return null;
	}
	

	public Produtora getProdutora() {
		return produtora;
	}


	public void setProdutora(Produtora produtora) {
		this.produtora = produtora;
	}


	public String getMsgRetorno() {
		return msgRetorno;
	}


	public void setMsgRetorno(String msgRetorno) {
		this.msgRetorno = msgRetorno;
	}

    public List<Produtora> getFilteredProd() {
        return filteredProd;
    }

    public void setFilteredProd(List<Produtora> filteredProd) {
        this.filteredProd = filteredProd;
    }


        
}
